home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / p / pcqpascalv1.2d.lha / Include / Libraries / triton.i < prev    next >
Text File  |  1997-05-07  |  33KB  |  637 lines

  1. (*  REVISION HEADER
  2. **
  3. **  Program         :   Include:Libraries/triton.i
  4. **  Copyright       :   Nils Sjoholm
  5. **  Author          :   Nils Sjoholm
  6. **                      nils.sjoholm@mailbox.swipnet.se
  7. **
  8. **  Creation Date   :   02 May 1996
  9. **  Current version :   $VER: triton.i 1.0 (02 May 1996)
  10. **
  11. **  Remarks         :   This is a header file for PCQ Pascal.
  12. **                      It's translated from Stefan Zeigers triton.h
  13. **                      Triton.h and triton.library is
  14. **                      (C) Coyright 1993-1995 Stefan Zeiger
  15. **                      All Rights Reserved.
  16. **
  17. **  Translator      :   PCQ Pascal 1.2d
  18. **                      (C) Patric Quaid
  19. **
  20. **
  21. **  REVISION HISTORY
  22. **
  23. **  Date            Version      Comment
  24. **  -----------     -------      ------------------------------------
  25. **  02 May 1996     1.0          First version for triton 1.4
  26. **
  27. **
  28. ** END OF REVISION HEADER
  29. *)
  30.  
  31. {///"Includes"}
  32. {$I "Include:Exec/Types.i"}
  33. {$I "Include:Intuition/Intuition.i"}
  34. {$I "Include:Intuition/IntuitionBase.i"}
  35. {$I "Include:Intuition/Gadgetclass.i"}
  36. {$I "Include:Intuition/Imageclass.i"}
  37. {$I "Include:Intuition/Classusr.i"}
  38. {$I "Include:Graphics/Gfx.i"}
  39. {$I "Include:Graphics/Gfxbase.i"}
  40. {$I "Include:Libraries/GadTools.i"}
  41. {$I "Include:Libraries/Diskfont.i"}
  42. {$I "Include:Utility/TagItem.i"}
  43. {$I "Include:Exec/Lists.i"}
  44. {$I "Include:Workbench/Startup.i"}
  45. {$I "Include:Workbench/WorkBench.i"}
  46. {///}
  47.  
  48.  
  49. (* ****************************************************************************** *)
  50.  
  51. (* ------------------------------------------------------------------------------ *)
  52. (* library name and version                                                       *)
  53. (* ------------------------------------------------------------------------------ *)
  54.  
  55. CONST   TRITONNAME        = "triton.library";
  56.         TRITON10VERSION   = 1;
  57.         TRITON11VERSION   = 2;
  58.         TRITON12VERSION   = 3;
  59.         TRITON13VERSION   = 4;
  60.         TRITON14VERSION   = 5;
  61.  
  62.  
  63. (* ------------------------------------------------------------------------------ *)
  64. (* Triton Message                                                                 *)
  65. (* ------------------------------------------------------------------------------ *)
  66.  
  67. TYPE TR_Message = RECORD
  68.          (* trm_Project   : TR_ProjectPtr; *) (* The project which triggered  *)
  69.          trm_Project   : ADDRESS;       (* the message                  *)
  70.          trm_Id        : Integer;       (* The object's ID              *)
  71.          trm_Class     : Integer;       (* The Triton message class     *)
  72.          trm_Data      : Integer;       (* The class-specific data      *)
  73.          trm_Code      : Integer;       (* Currently only used BY       *)
  74.                                         (* TRMS_KEYPRESSED              *)
  75.          trm_Pad0      : Integer;       (* qualifier is only 16 Bit     *)
  76.          trm_Qualifier : Integer;       (* Qualifiers                   *)
  77.          trm_Seconds   : Integer;       (* \ Copy of system clock time  *)
  78.          trm_Micros    : Integer;       (* / (Only where available! IF  *)
  79.                                         (*    not set, seconds is NULL) *)
  80.          (* trm_App       : TR_AppPtr; *)    (* The project's application    *)
  81.          trm_App       : ADDRESS;
  82.      END;                               (* End of TR_Message            *)
  83.      TR_MessagePtr = ^TR_Message;
  84.  
  85. (* Message classes *)
  86. CONST   TRMS_CLOSEWINDOW        = 1;  (* The window should be closed *)
  87.         TRMS_ERROR              = 2;  (* An error occured. Error code in trm_Data *)
  88.         TRMS_NEWVALUE           = 3;  (* Object's VALUE has changed. New VALUE in trm_Data *)
  89.         TRMS_ACTION             = 4;  (* Object has triggered an action *)
  90.         TRMS_ICONDROPPED        = 5;  (* Icon dropped over window (ID=0) or DropBox. AppMessage* in trm_Data *)
  91.         TRMS_KEYPRESSED         = 6;  (* Key pressed. trm_Data contains ASCII code,  trm_Code raw code and *)
  92.                                       (* trm_Qualifier contains qualifiers *)
  93.         TRMS_HELP               = 7;  (* The user requested help for the specified ID *)
  94.         TRMS_DISKINSERTED       = 8;  (* A disk has been inserted into a drive *)
  95.         TRMS_DISKREMOVED        = 9;  (* A disk has been removed from a drive *)
  96.  
  97.  
  98. (* ////////////////////////////////////////////////////////////////////// *)
  99. (* //////////////////////////////////////////////// Triton error codes // *)
  100. (* ////////////////////////////////////////////////////////////////////// *)
  101.  
  102. CONST   TRER_OK                 = 0;        (* No error *)
  103.  
  104.         TRER_ALLOCMEM           = 1;        (* Not enough memory *)
  105.         TRER_OPENWINDOW         = 2;        (* Can't open window *)
  106.         TRER_WINDOWTOOBIG       = 3;        (* Window would be too big for screen *)
  107.         TRER_DRAWINFO           = 4;        (* Can't get screen's DrawInfo *)
  108.         TRER_OPENFONT           = 5;        (* Can't open font *)
  109.         TRER_CREATEMSGPORT      = 6;        (* Can't create message port *)
  110.         TRER_INSTALLOBJECT      = 7;        (* Can't create an object *)
  111.         TRER_CREATECLASS        = 8;        (* Can't create a class *)
  112.         TRER_NOLOCKPUBSCREEN    = 9;        (* Can't lock public screen *)
  113.         TRER_CREATEMENUS        = 12;       (* Error while creating the menus *)
  114.         TRER_GT_CREATECONTEXT   = 14;       (* Can't create gadget context *)
  115.  
  116.         TRER_MAXERRORNUM        = 15;       (* PRIVATE! *)
  117.  
  118.  
  119. (* ////////////////////////////////////////////////////////////////////// *)
  120. (* /////////////////////////////////////////////////// Object messages // *)
  121. (* ////////////////////////////////////////////////////////////////////// *)
  122.  
  123. CONST   TROM_ACTIVATE  = 23;                 (* Activate an object *)
  124.  
  125.  
  126. (* ////////////////////////////////////////////////////////////////////// *)
  127. (* ///////////////////////////////////////// Tags for TR_OpenProject() // *)
  128. (* ////////////////////////////////////////////////////////////////////// *)
  129.  
  130. (* Tag bases *)
  131. CONST   TRTG_OAT              = (TAG_USER+$400);  (* Object attribute *)
  132.         TRTG_OBJ              = (TAG_USER+$100);  (* Object ID *)
  133.         TRTG_OAT2             = (TAG_USER+$80);   (* PRIVATE! *)
  134.         TRTG_PAT              = (TAG_USER);        (* Project attribute *)
  135.  
  136. (* Window/Project *)
  137. CONST   TRWI_Title              = (TRTG_PAT+$01); (* STRPTR: The window title *)
  138.         TRWI_Flags              = (TRTG_PAT+$02); (* See below for window flags *)
  139.         TRWI_Underscore         = (TRTG_PAT+$03); (* BYTE *: The underscore for menu and gadget shortcuts *)
  140.         TRWI_Position           = (TRTG_PAT+$04); (* Window position,  see below *)
  141.         TRWI_CustomScreen       = (TRTG_PAT+$05); (* STRUCT Screen * *)
  142.         TRWI_PubScreen          = (TRTG_PAT+$06); (* STRUCT Screen *,  must have been locked! *)
  143.         TRWI_PubScreenName      = (TRTG_PAT+$07); (* ADDRESS,  Triton is doing the locking *)
  144.         TRWI_PropFontAttr       = (TRTG_PAT+$08); (* STRUCT TextAttr *: The proportional font *)
  145.         TRWI_FixedWidthFontAttr = (TRTG_PAT+$09); (* STRUCT TextAttr *: The fixed-width font *)
  146.         TRWI_Backfill           = (TRTG_PAT+$0A); (* The backfill type,  see below *)
  147.         TRWI_ID                 = (TRTG_PAT+$0B); (* ULONG: The window ID *)
  148.         TRWI_Dimensions         = (TRTG_PAT+$0C); (* STRUCT TR_Dimensions * *)
  149.         TRWI_ScreenTitle        = (TRTG_PAT+$0D); (* STRPTR: The screen title *)
  150.         TRWI_QuickHelp          = (TRTG_PAT+$0E); (* BOOL: Quick help active? *)
  151.  
  152. (* Menus *)
  153. CONST   TRMN_Title              = (TRTG_PAT+$65); (* STRPTR: Menu *)
  154.         TRMN_Item               = (TRTG_PAT+$66); (* STRPTR: Menu item *)
  155.         TRMN_Sub                = (TRTG_PAT+$67); (* STRPTR: Menu subitem *)
  156.         TRMN_Flags              = (TRTG_PAT+$68); (* See below for flags *)
  157.  
  158. (* General object attributes *)
  159. CONST   TRAT_ID               = (TRTG_OAT2+$16);  (* The object's/menu's ID *)
  160.         TRAT_Flags            = (TRTG_OAT2+$17);  (* The object's flags *)
  161.         TRAT_Value            = (TRTG_OAT2+$18);  (* The object's value *)
  162.         TRAT_Text             = (TRTG_OAT2+$19);  (* The object's text *)
  163.         TRAT_Disabled         = (TRTG_OAT2+$1A);  (* Disabled object? *)
  164.         TRAT_Backfill         = (TRTG_OAT2+$1B);  (* Backfill pattern *)
  165.         TRAT_MinWidth         = (TRTG_OAT2+$1C);  (* Minimum width *)
  166.         TRAT_MinHeight        = (TRTG_OAT2+$1D);  (* Minimum height *)
  167.  
  168.  
  169. (* ////////////////////////////////////////////////////////////////////// *)
  170. (* ////////////////////////////////////////////////////// Window flags // *)
  171. (* ////////////////////////////////////////////////////////////////////// *)
  172.  
  173. CONST   TRWF_BACKDROP           = $00000001;     (* Create a backdrop borderless window *)
  174.         TRWF_NODRAGBAR          = $00000002;     (* Don't use a dragbar *)
  175.         TRWF_NODEPTHGADGET      = $00000004;     (* Don't use a depth-gadget *)
  176.         TRWF_NOCLOSEGADGET      = $00000008;     (* Don't use a close-gadget *)
  177.         TRWF_NOACTIVATE         = $00000010;     (* Don't activate window *)
  178.         TRWF_NOESCCLOSE         = $00000020;     (* Don't send TRMS_CLOSEWINDOW when Esc is pressed *)
  179.         TRWF_NOPSCRFALLBACK     = $00000040;     (* Don't fall back onto default PubScreen *)
  180.         TRWF_NOZIPGADGET        = $00000080;     (* Don't use a zip-gadget *)
  181.         TRWF_ZIPCENTERTOP       = $00000100;     (* Center the zipped window on the title bar *)
  182.         TRWF_NOMINTEXTWIDTH     = $00000200;     (* Minimum window width not according to title text *)
  183.         TRWF_NOSIZEGADGET       = $00000400;     (* Don't use a sizing-gadget *)
  184.         TRWF_NOFONTFALLBACK     = $00000800;     (* Don't fall back to topaz.8 *)
  185.         TRWF_NODELZIP           = $00001000;     (* Don't zip the window when Del is pressed *)
  186.         TRWF_SIMPLEREFRESH      = $00002000;     (* *** OBSOLETE *** (V3+) *)
  187.         TRWF_ZIPTOCURRENTPOS    = $00004000;     (* Will zip the window at the current position (OS3.0+) *)
  188.         TRWF_APPWINDOW          = $00008000;     (* Create an AppWindow without using class_dropbox *)
  189.         TRWF_ACTIVATESTRGAD     = $00010000;     (* Activate the first string gadget after opening the window *)
  190.         TRWF_HELP               = $00020000;     (* Pressing <Help> will create a TRMS_HELP message (V4) *)
  191.         TRWF_SYSTEMACTION       = $00040000;     (* System status messages will be sent (V4) *)
  192.  
  193.  
  194. (* ////////////////////////////////////////////////////////////////////// *)
  195. (* //////////////////////////////////////////////////////// Menu flags // *)
  196. (* ////////////////////////////////////////////////////////////////////// *)
  197.  
  198. CONST   TRMF_CHECKIT            = $00000001;     (* Leave space for a checkmark *)
  199.         TRMF_CHECKED            = $00000002;     (* Check the item (includes TRMF_CHECKIT) *)
  200.         TRMF_DISABLED           = $00000004;     (* Ghost the menu/item *)
  201.  
  202.  
  203. (* ////////////////////////////////////////////////////////////////////// *)
  204. (* ////////////////////////////////////////////////// Window positions // *)
  205. (* ////////////////////////////////////////////////////////////////////// *)
  206.  
  207. CONST   TRWP_DEFAULT            = 0;              (* Let Triton choose a good position *)
  208.         TRWP_BELOWTITLEBAR      = 1;              (* Left side of screen,  below title bar *)
  209.         TRWP_CENTERTOP          = 1025;           (* Top of screen,  centered on the title bar *)
  210.         TRWP_TOPLEFTSCREEN      = 1026;           (* Top left corner of screen *)
  211.         TRWP_CENTERSCREEN       = 1027;           (* Centered on the screen *)
  212.         TRWP_CENTERDISPLAY      = 1028;           (* Centered on the currently displayed clip *)
  213.         TRWP_MOUSEPOINTER       = 1029;           (* Under the mouse pointer *)
  214.         TRWP_ABOVECOORDS        = 2049;           (* Above coordinates from the dimensions STRUCT *)
  215.         TRWP_BELOWCOORDS        = 2050;           (* Below coordinates from the dimensions STRUCT *)
  216.  
  217.  
  218. (* ////////////////////////////////////////////////////////////////////// *)
  219. (* //////////////////////////////////// Backfill types / System images // *)
  220. (* ////////////////////////////////////////////////////////////////////// *)
  221.  
  222. CONST   TRBF_WINDOWBACK         = $00000000;     (* Window backfill *)
  223.         TRBF_REQUESTERBACK      = $00000001;     (* Requester backfill *)
  224.  
  225.         TRBF_NONE               = $00000002;     (* No backfill (= Fill with BACKGROUNDPEN) *)
  226.         TRBF_SHINE              = $00000003;     (* Fill with SHINEPEN *)
  227.         TRBF_SHINE_SHADOW       = $00000004;     (* Fill with SHINEPEN + SHADOWPEN *)
  228.         TRBF_SHINE_FILL         = $00000005;     (* Fill with SHINEPEN + FILLPEN *)
  229.         TRBF_SHINE_BACKGROUND   = $00000006;     (* Fill with SHINEPEN + BACKGROUNDPEN *)
  230.         TRBF_SHADOW             = $00000007;     (* Fill with SHADOWPEN *)
  231.         TRBF_SHADOW_FILL        = $00000008;     (* Fill with SHADOWPEN + FILLPEN *)
  232.         TRBF_SHADOW_BACKGROUND  = $00000009;     (* Fill with SHADOWPEN + BACKGROUNDPEN *)
  233.         TRBF_FILL               = $0000000A;     (* Fill with FILLPEN *)
  234.         TRBF_FILL_BACKGROUND    = $0000000B;     (* Fill with FILLPEN + BACKGROUNDPEN *)
  235.  
  236.         TRSI_USBUTTONBACK       = $00010002;     (* Unselected button backfill *)
  237.         TRSI_SBUTTONBACK        = $00010003;     (* Selected button backfill *)
  238.  
  239.  
  240. (* ////////////////////////////////////////////////////////////////////// *)
  241. (* ////////////////////////////////////////////// Display Object flags // *)
  242. (* ////////////////////////////////////////////////////////////////////// *)
  243.  
  244. (* General flags *)
  245. CONST   TROF_RAISED             = $00000001;     (* Raised object *)
  246.         TROF_HORIZ              = $00000002;     (* Horizontal object \ Works automatically *)
  247.         TROF_VERT               = $00000004;     (* Vertical object   / in groups *)
  248.         TROF_RIGHTALIGN         = $00000008;     (* Align object to the right border if available *)
  249.  
  250. (* Text flags for different kinds of text-related objects *)
  251. CONST   TRTX_NOUNDERSCORE       = $00000100;     (* Don't interpret underscores *)
  252.         TRTX_HIGHLIGHT          = $00000200;     (* Highlight text *)
  253.         TRTX_3D                 = $00000400;     (* 3D design *)
  254.         TRTX_BOLD               = $00000800;     (* Softstyle 'bold' *)
  255.         TRTX_TITLE              = $00001000;     (* A title (e.g. of a group) *)
  256.         TRTX_SELECTED           = $00002000;     (* PRIVATE! *)
  257.  
  258.  
  259. (* ////////////////////////////////////////////////////////////////////// *)
  260. (* ////////////////////////////////////////////////////// Menu entries // *)
  261. (* ////////////////////////////////////////////////////////////////////// *)
  262.  
  263. CONST   TRMN_BARLABEL           = (-1);           (* A barlabel instead of text *)
  264.  
  265.  
  266. (* ////////////////////////////////////////////////////////////////////// *)
  267. (* /////////////////////////////////////////// Tags for TR_CreateApp() // *)
  268. (* ////////////////////////////////////////////////////////////////////// *)
  269.  
  270. CONST   TRCA_Name               = (TAG_USER+1);
  271.         TRCA_LongName           = (TAG_USER+2);
  272.         TRCA_Info               = (TAG_USER+3);
  273.         TRCA_Version            = (TAG_USER+4);
  274.         TRCA_Release            = (TAG_USER+5);
  275.         TRCA_Date               = (TAG_USER+6);
  276.  
  277.  
  278. (* ////////////////////////////////////////////////////////////////////// *)
  279. (* ///////////////////////////////////////// Tags for TR_EasyRequest() // *)
  280. (* ////////////////////////////////////////////////////////////////////// *)
  281.  
  282. CONST   TREZ_ReqPos             = (TAG_USER+1);
  283.         TREZ_LockProject        = (TAG_USER+2);
  284.         TREZ_Return             = (TAG_USER+3);
  285.         TREZ_Title              = (TAG_USER+4);
  286.         TREZ_Activate           = (TAG_USER+5);
  287.  
  288. (* ------------------------------------------------------------------------------ *)
  289. (* The Application Structure                                                      *)
  290. (* ------------------------------------------------------------------------------ *)
  291.  
  292. TYPE TR_App = RECORD (* This structure is PRIVATE! *)
  293.          tra_MemPool    : Address;       (* The memory pool             *)
  294.          tra_BitMask    : Integer;       (* Bits to Wait() for          *)
  295.          tra_LastError  : Integer;       (* trer code of last error     *)
  296.          tra_Name       : String;        (* Unique name                 *)
  297.          tra_LongName   : String;        (* User-readable name          *)
  298.          tra_Info       : String;        (* Info string                 *)
  299.          tra_Version    : String;        (* Version                     *)
  300.          tra_Release    : String;        (* Release                     *)
  301.          tra_Date       : String;        (* Compilation date            *)
  302.          tra_AppPort    : MsgPortPtr;    (* Application message port    *)
  303.          tra_IdcmpPort  : MsgPortPtr;    (* IDCMP message port          *)
  304.          tra_Prefs      : Address;       (* Pointer to Triton app prefs *)
  305.          (* tra_LastProject: TR_ProjectPtr; *) (* Used FOR menu item linking  *)
  306.          tra_LastProject : ADDRESS;
  307.          tra_InputEvent : InputEventPtr; (* For RAWKEY conversion   *)
  308.      END; (* TR_App *)
  309.      TR_AppPtr = ^TR_App;
  310.  
  311.  
  312. (* ------------------------------------------------------------------------------ *)
  313. (* The Dimension Structure                                                        *)
  314. (* ------------------------------------------------------------------------------ *)
  315.  
  316. TYPE TR_Dimensions = RECORD
  317.          trd_Left          : Short;
  318.          trd_Top           : Short;
  319.          trd_Width         : Short;
  320.          trd_Height        : Short;
  321.          trd_Left2         : Short;
  322.          trd_Top2          : Short;
  323.          trd_Width2        : Short;
  324.          trd_Height2       : Short;
  325.          trd_Zoomed        : BOOL;
  326.          reserved          : ARRAY [0..2] OF Short;
  327.      END; (* TR_Dimensions *)
  328.      TR_DimensionsPtr = ^TR_Dimensions;
  329.  
  330. (* ------------------------------------------------------------------------------ *)
  331. (* The Projects Structure                                                         *)
  332. (* ------------------------------------------------------------------------------ *)
  333.  
  334. TYPE TR_Project = RECORD                                       (* This structure is PRIVATE! *)
  335.          trp_App                      : TR_AppPtr;            (* Our application            *)
  336.          trp_Screen                   : ScreenPtr;            (* Our screen, always valid   *)
  337.  
  338.          trp_LockedPubScreen          : Integer;              (* Only valid if we're using  *)
  339.                                                               (* a PubScreen                *)
  340.          trp_ScreenTitle              : String;               (* The screen title           *)
  341.  
  342.          trp_Window                   : WindowPtr;            (* The window                 *)
  343.          trp_Id                       : Integer;              (* The window ID              *)
  344.          trp_AppWindow                : AppWindowPtr;         (* AppWindow for icon         *)
  345.                                                               (* dropping                   *)
  346.  
  347.          trp_IdcmpFlags               : Integer;              (* The IDCMP flags            *)
  348.          trp_Flags                    : Integer;              (* Triton window flags        *)
  349.  
  350.          trp_NewMenu                  : NewMenuPtr;           (* The newmenu stucture       *)
  351.                                                               (* built by Triton            *)
  352.          trp_NewMenuSize              : Integer;              (* The number of menu         *)
  353.                                                               (* items in the list          *)
  354.          trp_Menu                     : MenuPtr;              (* The menu structure         *)
  355.          trp_NextSelect               : Short;                (* The next selected menu     *)
  356.                                                               (* item                       *)
  357.  
  358.          trp_VisualInfo               : Address;              (* The VisualInfo of our      *)
  359.                                                               (* window                     *)
  360.          trp_DrawInfo                 : DrawInfoPtr;          (* DrawInfo of the screen     *)
  361.          trp_UserDimensions           : TR_DimensionsPtr;     (* supplied dimensions        *)
  362.          trp_Dimensions               : TR_DimensionsPtr;     (* Private dimensions         *)
  363.  
  364.          trp_WindowStdHeight          :Integer;         (* standard height of the window    *)
  365.          trp_LeftBorder               : Integer;        (* left window border width         *)
  366.          trp_RightBorder              : Integer;        (* right window border width        *)
  367.          trp_TopBorder                : Integer;        (* top window border height         *)
  368.          trp_BottomBorder             : Integer;        (* bottom window border height      *)
  369.          trp_InnerWidth               : Integer;        (* inner width of the window        *)
  370.          trp_InnerHeight              : Integer;        (* inner height of the window       *)
  371.          trp_ZipDimensions            : ARRAY [0..3] OF Short;         (* The dimensions    *)
  372.                                                         (* for the zipped window            *)
  373.          trp_AspectFixing             : Short;          (*Pixel aspect correction factor    *)
  374.  
  375.          trp_ObjectList               : MinList;        (* The list of display objects      *)
  376.          trp_MenuList                 : MinList;        (* The list of menus                *)
  377.          trp_IdList                   : MinList;        (* The ID linking list              *)
  378.                                                         (* (menus & objects)                *)
  379.          trp_MemPool                  : Address;        (* memory pool for the lists        *)
  380.          trp_HasObjects               : BOOL;           (* Do we have display objects?      *)
  381.  
  382.          trp_PropAttr                 : TextAttrPtr;    (* The proportional font            *)
  383.                                                         (* attributes                       *)
  384.          trp_FixedWidthAttr           : TextAttrPtr;    (* The fixed-width font             *)
  385.                                                         (* attributes                       *)
  386.          trp_PropFont                 : TextFontPtr;    (* The proportional font            *)
  387.          trp_FixedWidthFont           : TextFontPtr;    (* The fixed-width font             *)
  388.          trp_OpenedPropFont           : BOOL;           (* Have we opened the               *)
  389.          trp_OpenedFixedWidthFont     : BOOL;           (* fonts ?                          *)
  390.          trp_TotalPropFontHeight      : Short;          (* Height of prop font              *)
  391.                                                         (* incl. underscore                 *)
  392.  
  393.          trp_BackfillType             : Integer;        (* The backfill type                *)
  394.          trp_BackfillHook             : HookPtr;        (* The backfill hook                *)
  395.          trp_GadToolsGadgetList       : GadgetPtr;      (* List of GadTools                 *)
  396.                                                         (* gadgets                          *)
  397.          trp_PrevGadget               : GadgetPtr;      (* Previous gadget                  *)
  398.          trp_NewGadget                : NewGadgetPtr;   (* GadTools NewGadget               *)
  399.  
  400.          trp_InvisibleRequest         : RequesterPtr;   (* The invisible blocking requester *)
  401.          trp_IsUserLocked             : BOOL;           (* Project locked by the user?      *)
  402.  
  403.          trp_CurrentID                : Integer;        (* currently keyboard-selected ID   *)
  404.          trp_IsCancelDown             : BOOL;           (* Cancellation key pressed?        *)
  405.          trp_IsShortcutDown           : BOOL;           (* Shortcut key pressed?            *)
  406.          trp_Underscore               : Byte;           (* The underscore character         *)
  407.  
  408.          trp_EscClose                 : BOOL;           (* Close window on Esc ?            *)
  409.          trp_DelZip                   : BOOL;           (* Zip window on Del ?              *)
  410.          trp_PubScreenFallBack        : BOOL;           (* Fall back onto default public    *)
  411.                                                         (* screen ?                         *)
  412.          trp_FontFallBack             : BOOL;           (* Fall back to topaz.8 ?           *)
  413.  
  414.          trp_OldWidth                 : Short;          (* Old window width                 *)
  415.          trp_OldHeight                : Short;          (* Old window height                *)
  416.  
  417.          trp_QuickHelpWindow          : WindowPtr;      (* The QuickHelp window             *)
  418.          trp_TicksPassed              : Integer;        (* IntuiTicks passed since last     *)
  419.                                                         (* MouseMove                        *)
  420.  
  421.      END;                                               (* End of TR_Projects               *)
  422.      TR_ProjectPtr = ^TR_Project;
  423.  
  424.  
  425. (* class_DisplayObject *)
  426.  
  427. CONST   TROB_DisplayObject      = (TRTG_OBJ+$3C); (* A basic display object *)
  428.  
  429.         TRDO_QuickHelpString    = (TRTG_OAT+$1E3);
  430.  
  431. (* class_Group *)
  432.  
  433. CONST   TRGR_Horiz              = (TAG_USER+201);  (* Horizontal group *)
  434.         TRGR_Vert               = (TAG_USER+202);  (* Vertical group *)
  435.         TRGR_End                = (TRTG_OAT2+$4B); (* End of a group *)
  436.  
  437.         TRGR_PROPSHARE          = $00000000;     (* Default: Divide objects proportionally *)
  438.         TRGR_EQUALSHARE         = $00000001;     (* Divide objects equally *)
  439.         TRGR_PROPSPACES         = $00000002;     (* Divide spaces proportionally *)
  440.         TRGR_ARRAY              = $00000004;     (* Top-level array group *)
  441.  
  442.         TRGR_ALIGN              = $00000008;     (* Align resizeable objects in secondary dimension *)
  443.         TRGR_CENTER             = $00000010;     (* Center unresizeable objects in secondary dimension *)
  444.  
  445.         TRGR_FIXHORIZ           = $00000020;     (* Don't allow horizontal resizing *)
  446.         TRGR_FIXVERT            = $00000040;     (* Don't allow vertical resizing *)
  447.         TRGR_INDEP              = $00000080;     (* Group is independant of surrounding array *)
  448.  
  449. (* class_Space *)
  450.  
  451. CONST   TROB_Space              = (TRTG_OBJ+$285); (* The spaces class *)
  452.  
  453.         TRST_NONE               = 1;              (* No space *)
  454.         TRST_SMALL              = 2;              (* Small space *)
  455.         TRST_NORMAL             = 3;              (* Normal space (default) *)
  456.         TRST_BIG                = 4;              (* Big space *)
  457.  
  458. (* class_CheckBox *)
  459.  
  460. CONST   TROB_CheckBox           = (TRTG_OBJ+$2F); (* A checkbox gadget *)
  461.  
  462. (* class_Object *)
  463.  
  464. CONST   TROB_Object             = (TRTG_OBJ+$3D); (* A rootclass object *)
  465.  
  466. (* class_Cycle *)
  467.  
  468. CONST   TROB_Cycle              = (TRTG_OBJ+$36); (* A cycle gadget *)
  469.  
  470.         TRCY_MX                 = $00010000;     (* Unfold the cycle gadget to a MX gadget *)
  471.         TRCY_RIGHTLABELS        = $00020000;     (* Put the labels to the right of a MX gadget *)
  472.  
  473. (* class_DropBox *)
  474.  
  475. CONST   TROB_DropBox            = (TRTG_OBJ+$38); (* An icon drop box *)
  476.  
  477. (* class_Scroller *)
  478.  
  479. CONST   TROB_Scroller           = (TRTG_OBJ+$35); (* A scroller gadget *)
  480.  
  481.         TRSC_Total              = (TRTG_OAT+$1E0);
  482.         TRSC_Visible            = (TRTG_OAT+$1E1);
  483.  
  484. (* class_FrameBox *)
  485.  
  486. CONST   TROB_FrameBox           = (TRTG_OBJ+$32); (* A framing box *)
  487.  
  488.         TRFB_GROUPING           = $00000001;     (* A grouping box *)
  489.         TRFB_FRAMING            = $00000002;     (* A framing box *)
  490.         TRFB_TEXT               = $00000004;     (* A text container *)
  491.  
  492. (* class_Button *)
  493.  
  494. CONST   TROB_Button             = (TRTG_OBJ+$31); (* A BOOPSI button gadget *)
  495.  
  496.         TRBU_RETURNOK           = $00010000;     (* <Return> answers the button *)
  497.         TRBU_ESCOK              = $00020000;     (* <Esc> answers the button *)
  498.         TRBU_SHIFTED            = $00040000;     (* Shifted shortcut only *)
  499.         TRBU_UNSHIFTED          = $00080000;     (* Unshifted shortcut only *)
  500.         TRBU_YRESIZE            = $00100000;     (* Button resizeable in Y direction *)
  501.         TRBT_TEXT               = 0;              (* Text button *)
  502.         TRBT_GETFILE            = 1;              (* GetFile button *)
  503.         TRBT_GETDRAWER          = 2;              (* GetDrawer button *)
  504.         TRBT_GETENTRY           = 3;              (* GetEntry button *)
  505.  
  506. (* class_Line *)
  507.  
  508. CONST   TROB_Line               = (TRTG_OBJ+$2D); (* A simple line *)
  509.  
  510. (* class_Palette *)
  511.  
  512. CONST   TROB_Palette            = (TRTG_OBJ+$33); (* A palette gadget *)
  513.  
  514. (* class_Slider *)
  515.  
  516. CONST   TROB_Slider             = (TRTG_OBJ+$34); (* A slider gadget *)
  517.  
  518.         TRSL_Min                = (TRTG_OAT+$1DE);
  519.         TRSL_Max                = (TRTG_OAT+$1DF);
  520.  
  521. (* class_Progress *)
  522.  
  523. CONST   TROB_Progress           = (TRTG_OBJ+$3A); (* A progress indicator *)
  524.  
  525. (* class_Text *)
  526.  
  527. CONST   TROB_Text               = (TRTG_OBJ+$30); (* A line of text *)
  528.  
  529.         TRTX_CLIPPED            = $00010000;     (* Text is clipped *)
  530. (* class_Listview *)
  531.  
  532. CONST   TROB_Listview           = (TRTG_OBJ+$39); (* A listview gadget *)
  533.  
  534.         TRLV_Top                = (TRTG_OAT+$1E2);
  535.  
  536.         TRLV_READONLY           = $00010000;     (* A read-only list *)
  537.         TRLV_SELECT             = $00020000;     (* You may select an entry *)
  538.         TRLV_SHOWSELECTED       = $00040000;     (* Selected entry will be shown *)
  539.         TRLV_NOCURSORKEYS       = $00080000;     (* Don't use arrow keys *)
  540.         TRLV_NONUMPADKEYS       = $00100000;     (* Don't use numeric keypad keys *)
  541.         TRLV_FWFONT             = $00200000;     (* Use the fixed-width font *)
  542.         TRLV_NOGAP              = $00400000;     (* Don't leave a gap below the list *)
  543.  
  544. (* class_Image *)
  545.  
  546. CONST   TROB_Image              = (TRTG_OBJ+$3B); (* An image *)
  547.  
  548.         TRIM_BOOPSI             = $00010000;     (* Use a BOOPSI IClass image *)
  549.  
  550. (* class_String *)
  551.  
  552. CONST   TROB_String             = (TRTG_OBJ+$37); (* A string gadget *)
  553.  
  554.         TRST_INVISIBLE          = $00010000;     (* A password gadget -> invisible typing *)
  555.         TRST_NORETURNBROADCAST  = $00020000;     (* <Return> keys will not be broadcast to the window *)
  556.  
  557. (* End of automatically assembled code *)
  558.  
  559.  
  560. (* ////////////////////////////////////////////////////////////////////// *)
  561. (* /////////////////////////////////////////////////////////// The End // *)
  562. (* ////////////////////////////////////////////////////////////////////// *)
  563.  
  564. {$I "Include:Libraries/TritonBaseVar.i"}
  565.  
  566. function TR_OpenProject(app : TR_AppPtr; taglist : TagItemPtr):TR_ProjectPtr;
  567.     EXTERNAL;
  568.  
  569. PROCEDURE TR_CloseProject(project : TR_ProjectPtr);
  570.     EXTERNAL;
  571.  
  572. function TR_FirstOccurance( ch : Integer): Integer;
  573.     EXTERNAL;
  574.  
  575. function TR_NumOccurances(ch : Integer; str : string): Integer;
  576.     EXTERNAL;
  577.  
  578. function TR_GetErrorString(num : Short): String;
  579.     EXTERNAL;
  580.  
  581. PROCEDURE TR_SetAttribute(project : TR_ProjectPtr; ID, attribute, VALUE: Integer);
  582.     EXTERNAL;
  583.  
  584. function TR_GetAttribute(project : TR_ProjectPtr; ID, attribute : Integer):Integer;
  585.     EXTERNAL;
  586.  
  587. procedure TR_LockProject(project : TR_ProjectPtr);
  588.     EXTERNAL;
  589.  
  590. Procedure TR_UnlockProject(project : TR_ProjectPtr);
  591.     EXTERNAL;
  592.  
  593. function TR_AutoRequest(app : TR_AppPtr; lockproject : TR_ProjectPtr; wintags : TagItemPtr): Integer;
  594.     EXTERNAL;
  595.  
  596. function TR_EasyRequest(app : TR_AppPtr; bodyfmt, gadfmt : String; taglist: TagItemPtr): Integer;
  597.     EXTERNAL;
  598.  
  599. function TR_CreateApp(apptags : TagItemPtr): TR_AppPtr;
  600.     EXTERNAL;
  601.  
  602. Procedure TR_DeleteApp(app: TR_AppPtr);
  603.     EXTERNAL;
  604.  
  605. function TR_GetMsg(app : TR_AppPtr): TR_MessagePtr;
  606.     EXTERNAL;
  607.  
  608. Procedure TR_ReplyMsg(message : TR_MessagePtr);
  609.     EXTERNAL;
  610.  
  611. function TR_Wait(app : TR_AppPtr; otherbits : Integer): Integer;
  612.     EXTERNAL;
  613.  
  614. Procedure TR_CloseWindowSafely(window : WindowPtr);
  615.     EXTERNAL;
  616.  
  617. function TR_GetLastError(app: TR_AppPtr): Short;
  618.     EXTERNAL;
  619.  
  620. function TR_LockScreen(project : TR_ProjectPtr): ScreenPtr;
  621.     EXTERNAL;
  622.  
  623. Procedure TR_UnlockScreen(screen : ScreenPtr);
  624.     EXTERNAL;
  625.  
  626. function TR_ObtainWindow(project : TR_ProjectPtr): WindowPtr;
  627.     EXTERNAL;
  628.  
  629. Procedure TR_ReleaseWindow(window : WindowPtr);
  630.     EXTERNAL;
  631.  
  632. function TR_SendMessage(project : TR_ProjectPtr; objectid, messageid: Integer; messagedata : Address): Integer;
  633.     EXTERNAL;
  634.  
  635.  
  636.  
  637.